Context: Although various success stories of model-based approaches are reported in literature, there isstill a significant resistance to model-based development in many software organizations because theUML is perceived to be expensive and not necessarily cost-effective. It is also important to gather empiricalevidence in which context and under which conditions the UML makes or does not make a practicaldifference.Objective: Our objective is to provide empirical evidence as to which UML diagrams are more helpful duringsoftware maintenance: Forward Designed (FD) UML diagrams or Reverse Engineered (RE) UML diagrams.Method: We carried out a family of experiments which consisted of one experiment and two replicationswith a total of 169 Computer Science undergraduate students.Results: The individual data analysis and the meta-analysis conducted on the whole family, show a tendencyin favor of FD diagrams and are significantly different as regards the effectiveness and efficiency ofthe subjects who participated and played the role of maintainers. The analysis of the qualitative data, collectedusing a post-experiment survey, reveals that the subjects did not consider RE diagrams helpful.Conclusions: Our findings show that there are some objective results (descriptive statistics or statisticaltests) related to the maintenance effectiveness and efficiency in favor of the use of FD UML diagrams duringsoftware maintenance. Subjective opinions also lead us to recommend the use of UML diagrams(especially class diagrams) created during the design phase for software maintenance because theyimprove the understanding of the system in comparison with RE diagrams. Nevertheless, we can onlyassume that these results are valid in the context of Computer Science undergraduate students whenworking with small systems related to well-known domains, and other contexts should be explored inorder to reaffirm the results in an industrial context by carrying out replications with professionals.
展开▼